import { getFormatterPrice } from '@const/filter'

// 后结算订单状态
// 订单状态（0-全部，11-待响应，12-待发货，13-发货完成，14-已完成，15-已撤消，16-已拒绝）
export const statusArr = {
  0: '全部',
  11: '待响应',
  12: '待发货',
  13: '发货完成',
  14: '已完成',
  15: '已撤销',
  16: '已拒绝'
}

// 列表--搜索字段
export const indexSearchData = [
  {
    key: 'saleOrderCode',
    title: '销售单号', // 1
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'relationOrderCode',
    title: '关联订单号',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'settleStartTime',
    title: '结算日期',
    type: 'time',
    fieldname: ['settleBeginDate', 'settleEndDate'],
    attr: {
      style: 'width:270px !important;',
      class: 'daterange',
      type: 'daterange',
      'start-placeholder': '开始时间',
      'end-placeholder': '结束时间'
    }
  },
  {
    key: 'applyDept',
    title: '申请科室',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'hospitalName',
    title: '医疗机构',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'startTime',
    title: '创建时间',
    type: 'time',
    fieldname: ['beginDate', 'endDate'],
    attr: {
      style: 'width:270px !important;',
      class: 'daterange',
      type: 'daterange',
      'start-placeholder': '开始时间',
      'end-placeholder': '结束时间'
    }
  }
]
// 操作页--响应搜索字段
export const saleResponseSearchData = [
  {
    key: 'prodCode',
    title: '产品编码', // 1
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'prodName',
    title: '产品名称',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'prodSpec',
    title: '规格',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'prodModel',
    title: '型号',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'manufacturer',
    title: '生产厂家',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'supplierName',
    title: '供应商',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  }
]
// 操作页--发货搜索字段
export const saleDeliverSearchData = [
  {
    key: 'invoiceNo',
    title: '发票号', // 1
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'prodBatchNo',
    title: '批号',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'prodCode',
    title: '产品编码',
    type: 'input',
    attr: {
      placeholder: '请输入' // 1
    }
  },
  {
    key: 'prodName',
    title: '产品名称',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  },
  {
    key: 'supplierName',
    title: '供应商',
    type: 'input',
    attr: {
      placeholder: '请输入'
    }
  }
]
// 销售主页列表--列表表头
export const indexTableData = [
  { prop: 'saleOrderCode', label: '销售单号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'relationOrderCode', label: '关联订单号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'settleDate', label: '结算日期', width: 120 },
  { prop: 'applyDept', label: '申请科室', width: 170 },
  { prop: 'prodTypeCount', label: '品种数', width: 150 },
  { prop: 'prodTotalCount', label: '产品数量', width: 150 },
  { prop: 'orderAmount', label: '订单金额（元）', width: 150, formatter: row => getFormatterPrice(row.orderAmount) },
  { prop: 'relInvoiceAmount', label: '已关联发票金额（元）', width: 170, formatter: row => getFormatterPrice(row.relInvoiceAmount) },
  { prop: 'awaitRelInvoiceAmount', label: '未关联发票金额（元）', width: 170, formatter: row => getFormatterPrice(row.awaitRelInvoiceAmount) },

  { prop: 'receiveAddress', label: '收货地址', width: 150, 'show-overflow-tooltip': true },
  { prop: 'contacts', label: '联系人', width: 150 },
  { prop: 'contactNumber', label: '联系电话', width: 150 },
  { prop: 'hospitalName', label: '医疗机构', 'min-width': 170, 'show-overflow-tooltip': true },
  { prop: 'createTime', label: '创建时间', width: 150 },
  { prop: 'orderStatus',
    label: '订单状态',
    width: 150,
    formatter: row => {
      return statusArr[row.orderStatus]
    } },
  { prop: 'action', label: '操作', width: 100, fixed: 'right' }
]

// 列表页-tab
// 订单状态（0-全部，11-待响应，12-待发货，13-发货完成，14-已完成，15-已撤消，16-已拒绝）
export const indexTabsArr = [
  { lab: '待响应', val: 11, badge: { value: null } }, // 1
  { lab: '待发货', val: 12, badge: { value: null } }, // 1
  { lab: '发货完成', val: 13, badge: { value: null } },
  { lab: '已完成', val: 14, badge: { value: null } },
  { lab: '已撤销', val: 16, badge: { value: null } },
  { lab: '已拒绝', val: 17, badge: { value: null } }, // 1
  { lab: '全部', val: 0, badge: { value: null } }
]
// 产品大类
export const categoryArr = {
  1: '高值',
  2: '低值',
  3: '试剂',
  4: '设备',
  5: '器械'
}
// 详情页/操作页--基本信息
export const saleCommonForm = [
  [
    { key: 'saleOrderCode', label: '销售单号' }, // 1
    { key: 'relationOrderCode', label: '关联订单号' }, // 1
    { key: 'orderStatus', label: '订单状态' } // 1
  ],
  [
    { key: 'createDate', label: '创建时间' }, // 1
    { key: 'hospitalName', label: '医疗机构' }, // 1
    { key: 'settleDate', label: '结算日期' } // 1
  ],
  [
    { key: 'applyDept', label: '申请科室' },
    { key: 'receiveAddress', label: '收货地址' },
    { key: 'contacts', label: '联系人' }
  ],
  [
    { key: 'contactNumber', label: '联系电话' }
  ]
]
// 发票部分表头
export const partInvoiceColumns = [
  { prop: 'invoiceNo', label: '发票号', width: 200 }, // 1
  { prop: 'count', label: '发货数量', width: 150 }, // 1
  { prop: 'productDate', label: '生产日期', width: 100 }, // 1
  { prop: 'expDate', label: '失效日期', width: 100 }, // 1
  { prop: 'productBatch', label: '批号', width: 150 }, // 1
  { prop: 'serialNumber', label: '序列号', width: 150 }, // 1
  { prop: 'udi', label: 'UDI', width: 150 }
]
// 详情页--tab项
export const detailTabsArr = [
  { lab: '订单信息', val: 0, disabled: null },
  { lab: '发货信息', val: 1, disabled: null }
]
// 操作页-待响应-详情
export const partResponseColumns = [
  { width: '40', fixed: 'left', type: 'selection' },
  { prop: 'saleDetailCode', label: '销售明细单号', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'relationDetailCode', label: '关联明细单号', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'supplierName', label: '供应商', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'pssProdCode', label: '产品编码', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdName', label: '产品名称', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'pssProdSpecs', label: '规格', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdModel', label: '型号', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssMinUnit', label: '最小单位', width: 100 },
  { prop: 'salePrice', label: '销售价格 （元）', width: 150, formatter: row => getFormatterPrice(row.salePrice) },
  { prop: 'templatePrice',
    label: '模板价格 （元）',
    width: 150,
    formatter: row => {
      if (row.templatePrice === -1) {
        return ''
      }
      return getFormatterPrice(row.templatePrice)
    }
  },
  { prop: 'diffPrice', label: '价格差异 （元）', width: 150, formatter: row => getFormatterPrice(row.diffPrice) },
  { prop: 'pssRegistrationNumber', label: '注册证号/备案证号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'pssManufacturer', label: '生产厂家', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdBigCategory',
    label: '产品大类',
    width: 90,
    formatter: row => {
      return categoryArr[row.pssProdBigCategory]
    }
  },
  { prop: 'saleCount', label: '销售数量', width: 150 },
  { prop: 'detailAmount', label: '销售金额 （元）', width: 150, formatter: row => getFormatterPrice(row.detailAmount) },
  { prop: 'hspProdCode', label: '医院产品编码', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'hspProdName', label: '医院产品名称', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'hspProdSpecs', label: '医院产品规格', width: 150, 'show-overflow-tooltip': true },
  { prop: 'hspProdModel', label: '医院产品型号', width: 150, 'show-overflow-tooltip': true },
  { prop: 'hspMinUnit', label: '最小单位', width: 100 },
  { prop: 'hspRegistrationNumber', label: '注册证号/备案证号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'hspManufacturer', label: '生产厂家', width: 150, 'show-overflow-tooltip': true }
]
// 详情页-订单-订单详情
export const columns = [
  { prop: 'relationDetailCode', label: '关联明细单号', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'pssProdCode', label: '产品编码', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdName', label: '产品名称', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'pssProdSpecs', label: '规格', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdModel', label: '型号', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssMinUnit', label: '最小单位', width: 100 },
  { prop: 'salePrice', label: '销售价格 （元）', width: 150, formatter: row => getFormatterPrice(row.salePrice) },
  { prop: 'pssRegistrationNumber', label: '注册证号/备案证号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'pssManufacturer', label: '生产厂家', width: 150, 'show-overflow-tooltip': true },
  { prop: 'pssProdBigCategory',
    label: '产品大类',
    width: 90,
    formatter: row => {
      return categoryArr[row.pssProdBigCategory]
    }
  },
  { prop: 'saleCount', label: '销售数量', width: 150 },
  { prop: 'detailAmount', label: '销售金额 （元）', width: 150, formatter: row => getFormatterPrice(row.detailAmount) },
  { prop: 'hspProdCode', label: '医院产品编码', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'hspProdName', label: '医院产品名称', width: 150, 'show-overflow-tooltip': true }, // 1
  { prop: 'hspProdSpecs', label: '医院产品规格', width: 150, 'show-overflow-tooltip': true },
  { prop: 'hspProdModel', label: '医院产品型号', width: 150, 'show-overflow-tooltip': true },
  { prop: 'hspMinUnit', label: '最小单位', width: 100 },
  { prop: 'hspRegistrationNumber', label: '注册证号/备案证号', width: 170, 'show-overflow-tooltip': true },
  { prop: 'hspManufacturer', label: '生产厂家', width: 150, 'show-overflow-tooltip': true }
]
// 详情页-订单-订单详情
export const partOrderColumns = [
  { prop: 'saleDetailCode', label: '销售明细单号', width: 150, 'show-overflow-tooltip': true }, // 1
  ...columns
]
// 详情页-订单-发货详情
export const partDeliverColumns = [
  { prop: 'invoiceAction', label: '发票详情', width: 120, fixed: 'left' },
  { prop: 'invoiceNo', label: '发票号', width: 200 },
  { prop: 'invoiceUrl', label: '发票影像', width: 80 },
  { prop: 'count', label: '发货数量', width: 120 },
  { prop: 'productDate', label: '生产日期', width: 100 },
  { prop: 'expDate', label: '失效日期', width: 100 },
  { prop: 'productBatch', label: '批号', width: 150 },
  { prop: 'serialNumber', label: '序列号', width: 150 },
  { prop: 'udi', label: 'UDI', width: 150 },
  { prop: 'deliverDetailCode', label: '发货明细单号', width: 150, 'show-overflow-tooltip': true }, // 1
  ...(columns.slice(0, 6)),
  { prop: 'unitPrice', label: '销售价格 （元）', width: 150, formatter: row => getFormatterPrice(row.unitPrice) },
  ...(columns.slice(7)),
  { prop: 'supplierName', label: '供应商', width: 150, 'show-overflow-tooltip': true }
]
// 操作页-待发货-详情
export const partWaitColumns = [
  { width: '40', fixed: 'left', type: 'selection'
  // selectable : row =>{
  //     console.log(row)
  //     return row.count === 1
  //   }
  },
  { prop: 'mplatInvoiceStatus', label: '发票详情', width: 120, fixed: 'left' },
  { prop: 'invoiceNo', label: '发票号', width: 200 },
  { prop: 'invoiceUrl', label: '发票影像', width: 80 },
  { prop: 'count', label: '发货数量', width: 120 },
  { prop: 'productDate', label: '生产日期', width: 100 },
  { prop: 'expDate', label: '失效日期', width: 100 },
  { prop: 'productBatch', label: '批号', width: 150 },
  { prop: 'serialNumber', label: '序列号', width: 150 },
  { prop: 'udi', label: 'UDI', width: 150 },
  ...(partOrderColumns.slice(0, 7)),
  { prop: 'unitPrice', label: '销售价格 （元）', width: 150, formatter: row => getFormatterPrice(row.unitPrice) },
  ...(partOrderColumns.slice(8)),
  { prop: 'supplierName', label: '供应商', width: 150, 'show-overflow-tooltip': true }
]
// 已关联发票表头
export const invoiceAssociatedColumns = [
  { width: '40',
    fixed: 'left',
    type: 'selection',
    selectable: row => { return row.invoiceSource !== 1 } },
  { prop: 'action', label: '操作', width: 100, fixed: 'left' },
  { prop: 'invoiceNo', label: '发票号', width: 200 },
  { prop: 'count', label: '发货数量', width: 120 },
  { prop: 'productDate', label: '生产日期', width: 100 },
  { prop: 'expDate', label: '失效日期', width: 100 },
  { prop: 'productBatch', label: '批号', width: 150 },
  { prop: 'serialNumber', label: '序列号', width: 150 },
  { prop: 'udi', label: 'UDI', width: 150 },
  ...(partOrderColumns.slice(0, 7)),
  { prop: 'unitPrice', label: '销售价格 （元）', width: 150, formatter: row => getFormatterPrice(row.unitPrice) },
  ...(partOrderColumns.slice(8)),
  { prop: 'supplierName', label: '供应商', width: 150, 'show-overflow-tooltip': true }
]
